Negotiation system and processor-based method

ABSTRACT

A processor-based method for automated negotiation with continuous game moves. A game tree is constructed with a root node that represents a current state of the negotiation. The game tree is evaluated, and a next offer selected. A range-term is defined based on the continuous game moves and the range-term is treated as a single continuous variable in the game tree. Expansion of a branch of the game tree is halted at a range-term node for which only the range-term was changed in a previous move leading to that range-term node. An optimum payoff value for each range-term node is then determined and output to a computer peripheral.

FIELD OF THE PRESENT INVENTION

The present invention relates broadly to a processor-based negotiationmethods, and more specifically to computer readable media and systemsfor automated negotiation.

BACKGROUND OF THE PRESENT INVENTION

Market transactions typically include negotiations between buyers andsellers. Such negotiation may involve reiterative offers andcounteroffers relating to the terms of the sale, e.g., price, delivery,warranty, payment options, and product features. Given the relativecomplexity of such negotiations, trying to automate such a negotiationprocess presents a significant challenge.

In the gaming world, many contests between parties have beensuccessfully automated. In fact, an entire industry of automated gameshas been developed. Even traditional games have been successfullyautomated, e.g., chess, checkers, tic-tac-toe, etc. One technique forautomating games is to use computer gaming strategy.

Computer gaming strategy often involves building a “game tree” thatallows a computer to process the options presented as the gameprogresses in order to select options at each stage that will mostlikely result in a win. Other attempts to automate games have includedheuristic approaches that attempt to emulate human behaviour. The gametree strategy, however, uses available computing power to producecomparable or better results than the heuristic models.

A game tree generally includes nodes representing the various states,stages or positions, that may occur during the game. A root noderepresents the current state. Under each root node, a child noderepresents an option or move that is available from the root node. Whenthere are no further options available, the node becomes a “terminalnode”. Expanding the game tree to all its terminal nodes allows allpossible options to be represented and considered.

Negotiations can present several complexities not normally found in astandard game or contest. For example, several variables or terms can beall negotiated at once, such as price, payment systems, delivery date,product specifications, etc. Some such variables may not present finite,discrete options or moves, e.g., as in price, volume, time of delivery,etc. Considering all such continuously variable options would require aninfinite number of branches on a game tree.

Such complexities make using computers difficult in automating businessnegotiations or other contests having similar continuously variableattributes. For example, discretization to too fine a granularity makesthe game trees too bushy because there are too many leaves. It canbecome impractical to evaluate each leaf. Discretization to too coarse alevel can result in an optimum being missed.

SUMMARY OF THE PRESENT INVENTION

Briefly, a processor-based method for automated negotiation withcontinuous games moves includes constructing a game tree with a rootnode that represents a current state of a negotiation; defining arange-term based on continuous game moves; treating a range-term as asingle continuous variable in said game tree; halting expansion of abranch of said game tree at a range-term node for which only arange-term was changed in a move leading to said range-term node; andevaluating said game tree to select a next offer with an optimizationprocess routine to determine an optimum payoff value for each range-termnode.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow-chart illustrating a processor-based method inaccordance with an embodiment of the present invention;

FIG. 2 is a schematic drawing illustrating the creation of a game treein accordance with an embodiment of the present invention;

FIG. 3 is a schematic drawing illustrating the evaluation of the gametree of FIG. 2 in accordance with an embodiment of the presentinvention; and

FIG. 4 is a schematic drawing illustrating an automated negotiationsystem in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 represents a game-tree negotiation method embodiment of thepresent invention, and is referred to herein by the general referencenumeral 100. Method 100 starts at a step 102. In a step 104, an offer isreceived. Since a negotiation may be viewed as a type of contest, theopposite party in such negotiation may be referred to as the “opponent”.Thus, such offer is received from the opponent and may include numerousterms or “variables” related to the deal being negotiated.

In typical negotiations, the goal is to negotiate favorable variables,and correspondingly, not to enter into a bad deal. A negotiation may beviewed conceptually as a filling in of the blanks of a contract. Eachblank corresponds to a variable of the deal. As each such variable isagreed upon, the corresponding blanks in the contract are filled. Whenall variables have been collected, the contract is complete and a dealhas been made. If an automated process of negotiation is to proceedefficiently, variables cannot be re-negotiated once agreed to. Thus,certain constraints on the negotiation may be imposed in order to makethe automated process efficient.

In a step 106, the offer validation begins and may include adetermination of how the offer should be categorized and ultimately howto respond appropriately. For example, such validation may includeidentifying the opponent making the offer, and the subject matter of theoffer, to ensure the offer relates to the current deal being negotiated.The process may further determine whether the offer constitutes a legaloffer, as defined by the specific automated negotiation process. Forexample, step 108 determines whether the offer is a legal offer or ifthe offer violates some constraint. For purposes of automating thenegotiation process, certain constraints may be placed on thenegotiation process.

If the offer does not violate any of the constraints and thus qualifiesas a legal offer, method 100 continues to step 110. In step 110, a gametree is constructed based on the offer received. Such constitutes theroot node, from which the game tree is expanded via different levels ofparent/child nodes. The game tree generally includes nodes representingthe various states of the negotiation. The construction of a game treeis discussed in more detail in reference to FIG. 2. Once the game treehas been constructed, the game tree is evaluated in step 112. Theevaluation of the game tree includes assigning a payoff value to eachnode, which represents the node's desirability in terms of offering thebest payoff to the party from the negotiation that has the option tomove to that node. The evaluation of the game tree is discussed in moredetail in reference to FIG. 3.

In step 114, a counteroffer is selected. Generally, the counterofferwill be based on a new state of the negotiation represented by the childnode under the current root node which has the highest payoff of theavailable child nodes, having the highest payoff is chosen from theavailable counteroffers. The selected counteroffer can then be presentedas a response to the opponent in step 116. Once the counteroffer hasbeen presented to the opponent, method 100 may loop back to step 104 toawait the receipt of another offer from the opponent in response to thecounteroffer. Otherwise, the process may end at step 120. Thenegotiation process continues reiteratively until all variables of thedeal have been completed, e.g., there are no more counteroffersavailable.

In method 100, a legal counteroffer is one that narrows the range ofpotential deals by eliminating or narrowing a variable of the deal. Suchguards against getting trapped in a never-ending loop during theautomated negotiation process. If an offer does not narrow or eliminatea variable, the overall negotiation is not advanced to a conclusion.There can be no valid counteroffer, and so the offer is rejected in astep 118. When an offer has been rejected, a response is presented tothe opponent in the negotiation in step 116. In this case, the responsewould be a rejection of the illegal offer. Once a response has beenpresented to the opponent, method 100 may continue to step 104 to awaitthe receipt of another offer, or the process may end at step 120.

FIG. 2 represents construction of a game tree 200 that could be used inthe processor-based method of FIG. 1. Such accommodates continuousvariables in the negotiations, e.g., a price within a range. Continuousvariables in the context of the described embodiments are terms of thedeal whose values may vary within a given range or continuum. In theexample embodiment, a range-term based on the continuous variables isdefined, and the range-term is treated as a single continuous variablein the game tree. Many analysis algorithms cannot use numeric attributevalues, so the numeric attributes must be discretized. “Discretization”divides numeric data into intervals, creating “string” values for theattribute that then can be used for analysis. Dividing the data intointervals can make the data analysis more robust and easier tounderstand. In reality, prices in the United States are not trulycontinuous, but discrete to the penny.

In the example embodiment, nodes that involve changing only range termsare marked and the process of constructing that portion of the game treeomitted. In particular, as the creation of the child and sibling nodesprogresses in the game tree construction 200, nodes will develop inwhich only the range term is being modified in all subsequent nodes ormoves. When this occurs, the pattern of nodes from the child isessentially identical to the pattern from the parent node. It has beenrecognized that since there is no way to predict how many rounds ofoffers may occur after that point, there is no benefit or need toconstruct an unknown quantity of repetitive nodes under the child node.Rather, the child node is marked as a range-term node and the game treeconstruction progresses with the creation of nodes in other branches. Anoptimization process routine is then used during the later evaluationprocess to determine the payoff value to be assigned to such range-termnodes.

The negotiation for which the game tree 200 is constructed and shown inFIG. 2 is directed to the sale of a pair of shoes in which there are twovariables in the deal. The variables for the negation of FIG. 2, are thetype of shoes and the price of the shoes. The type of shoes is limitedto two states, wingtip (W) and loafer (L). The price variable (P) isconsidered to be a continuous variable in that the variable can have avirtually infinite number of values.

The construction of game tree 200 in FIG. 2 begins by determining legalcounteroffers available from a current node, node 201. There are fivelegal counteroffers and child nodes. In general, legal counteroffersmust narrow the number of unsettled variables of the deal, e.g.,selecting a state for one of the variables. For example, the shoe typevariable is addressed in nodes 202-206. The shoe type may be wingtips(W) or loafers (L). A node 202 is created to represent a counterofferwhere wingtips are selected, a flag “W” represents this move. A node 203represents a further negotiation of the price for the wingtips. Fromsuch point, the range term “P” can continue to be modified by theparties indefinitely. Accordingly, an indefinite number of nodes couldbe created beneath nodes 203 and 205, and these would essentially repeatthe same states.

To illustrate this point, a further node branch labelled “P” and a node206 are shown in an area 207. Node 206 represents a price offer from theother party to the negotiation further modifying the range term “P” onthe branch from node 204.

In varying embodiments, any repeating branches are truncated, e.g.,nodes 203 and 205 are simply marked as range-term nodes. So area 207 andnode 206 would not exist. A further branch-expansion attempt however maybe needed that produces node 206 in order to see that it should not havebeen expanded.

A node 216 can be identified and created as a child node to the rootnode, node 201. Child node 216 represents the combined moves ofselecting wingtips and modification of the range term, e.g., the pricein the example embodiment. Such combined move is represented on thebranch to node 210 as a flag “W,P”. A node 211 is created as a childbeneath Node 210 since the price can continue to be changed.Accordingly, a flag “P” is shown on the branch between nodes 210 and211. From this point, the range-term can continue to be modified by theparties indefinitely. Conventionally, an indefinite number of nodescould be created beneath node 211 which would all essentially representthe same state as node 211. So, rather than repeating nodes beneath node211, the construction of this branch of the game tree 200 is halted.Node 211 is simply marked as a range-term node.

From root node 201, only the price counteroffer could be responsible fora move, as to a node 212. Such represents a counteroffer where only theprice term has been modified, as indicated by the “P” flag. Price is arange-term in this example embodiment, so multiple paths can be takenfrom node 212. These options are illustrated in an area 213 in FIG. 2.The possible child nodes are nodes 214-218 and essentially repeat nodes202, 204, 208, 210, and 212. Therefore, the expansion of the game tree200 under node 212 is not needed in the initial creation of game tree200.

Game tree 200 is expanded during an evaluation process for optimizationprocess routines to assign payoff values to each of the nodes. Furtherconstruction in each branch of the tree 200 is abbreviated wheneverrange-term nodes result in identical child patterns. Such pruningstrategy can be formulated by stopping expansion of the tree once a nodeis reached for which in the prior move leading to that particular nodeonly the range-term was changed.

Importantly, game tree 200 does not include any terminal nodes.Moreover, the game tree 200 has only range-term nodes as its leaves. Inprior art approaches, such game tree construction is only finished whenall of the terminal nodes have been completed. But such is open-endedbecause there is an infinite number of possible increments for thecontinuous variables.

An optimization process routine is used in the evaluation of game tree200. The range-term nodes are extended for different assumed changes ofthe range-term in the next and subsequent moves until terminal nodes arereached and the payoff at the terminal nodes can be computed. Suchpayoffs are propagated back to the range-term node where the result isused to determine a new assumed change in the range-term as part of theoptimization process.

FIG. 3 illustrates a game tree 300, e.g., for use in the processor-basednegotiation method of FIG. 1. There is a branch taken when loafers “L”is decided that includes nodes 302 and 303. There is a branch taken whenwingtips “W” is decided that includes nodes 304 and 305. There is athird branch taken when both “L,P” is decided that includes nodes 308and 309. There is a branch taken when “W,P” are both decided thatincludes nodes 310 and 311. There is a branch taken when only price “P”is decided that includes nodes 312 and area 313.

For each of the range-term nodes 302, 304, 306, 308 and 309, theevaluation process involves the logical extension of the game tree underthe respective range term nodes, assuming an initial change in therange-term. The logical extension proceeds until terminal nodes havebeen reached, and the payoff value is computed for each terminal node,where all variables, including the range-term, are now fixed. The payoffvalue is determined in the example embodiment using utility functions ofthe parties involved. Once the payoff value for each terminal node hasbeen calculated, the value for each non-terminal node can be determined.The value for each non-terminal node is that of the child with thelargest value for the party that can move to it. In that way, the valuesof the terminal nodes are propagated to the range-term nodes. At therange-term nodes, the payoff is used to calculate a new value to try forthe change in the range-term, as part of the optimization process.

Once optimum payoffs have been determined for each of the range-termnodes, their respective payoff values are then propagated up the gametree 300 to the root node 301. The value for each non-terminal nodeduring the propagation is that of the child with the largest value forthe party that can move to it. It is noted that, therefore, if aparticular party is not making the next move from a particularnon-terminal node, the value of that non-terminal node is not the childwith the largest value for that party, but rather the value of the childwhich has the largest value for the other party, which is the one thatcan move to it.

Once all the payoff values have been so propagated, and the child nodesbeneath the root node 301 are all assigned a payoff value, the childnode of the root node 301 with the highest available payoff is usuallyselected as the best option to move, e.g., to make a counteroffer in thecontext of the example embodiment. It is noted that the move from theroot node 301 is, in the context of the example embodiment, always amove made by the party evaluating the game tree at that particular time.

For example, in FIG. 3 the logical extensions of the game tree 300during an evaluation process are shown for one of the range-term nodes,node 312, in area 313. In FIG. 3, the two numbers shown in some of theflags represent the range boundaries of the range-term leading up to aparticular node. When the range is zero, e.g., both numbers are thesame, the range-term has been agreed upon by the parties at the node towhich the associated move leads.

In the evaluation in relation to range-term node 312, its payoff valueto the party assessing the game tree, in the example embodiment theseller, is that of its child, one of nodes 314 to 318, which has thehighest payoff for the buyer, since it is the buyer that makes the nextmove from node 312. Adversely, the payoff value to the seller of node318, for example, is its child, nodes 321 to 322, with the highestpayoff value to the seller, who is making the next move from node 318.

In the example embodiment, the evaluation involving a logical extensionof the game tree under node 312 (dotted area 313) is repeated fordifferent assumed initial changes in the range-term from node 312, untilan optimum payoff for range-term node 312 has been identified using achosen optimization process routine.

Various conventional optimization process routines can be used tocalculate a payoff for a limited number of range term values. An optimalrange term value may be estimated using linear or non-linearmathematical techniques. The payoff value for the optimal value of therange term can then be computed and that payoff value may be used forthe marked range-term node. Thus, the assignment of a payoff value canoccur in the evaluation process even though that portion of the tree hasnot been full expanded in the initial creation of the game tree 300.Rather, the evaluation involves a logical extension of the game treeunder each range-term node for selected changes in the range-term, e.g.,a finite extension, as part of the optimization process of the exampleembodiment.

One simple example optimization process routine involves each of theparties having specified minimum and maximum concessions for eachcontinuous variable contributing to the range-term, in the exampleembodiment only one, the price. The optimization involves computing thepayoff of a range-term node for each of the specified minimum andmaximum concessions, and their mean value, then fitting a parabolathrough these three points. The fourth try is the concessioncorresponding to the maximum of the parabola if it lies on thisinterval.

FIG. 4 illustrates a general-purpose computer system embodiment of thepresent invention for automated negotiation. The computer system 400includes a processor (CPU) 402 that is coupled to read only memory (ROM)406 and random access memory (RAM) 404.

Generally, ROM transfers data and instructions unidirectional to CPU402, while RAM typically transfers data and instructions in abi-directional manner. Both storage devices 404, 406 may comprise anysuitable computer-readable media. A secondary storage medium 408, whichis typically a mass memory device, is also coupled bi-directionally toCPU 402 and provides additional data storage capacity. The mass memorydevice 408 is a computer-readable medium that may be used to storeprograms including computer code, data, and the like. Mass memory device408 is typically a storage medium utilizing a non-volatile memory suchas a hard disk or a tape that is generally slower than primary storagedevices 404, 406. Mass memory storage device 408 may take the form of amagnetic or paper tape reader or other known devices. The informationretained within the mass memory device 408 may, in appropriate cases, beincorporated as part of RAM 406 as virtual memory.

CPU 402 also couples to input/output devices 410 that may includedevices such as video monitors, track balls, mice, keyboards,microphones, touch-sensitive displays, transducer card readers, magneticor paper tape readers, tablets, styluses, voice or handwritingrecognizers, or other known input/output devices including othercomputers. Finally, CPU 402 optionally may be coupled to a computer ortelecommunications network, e.g., an Internet network, or an intranetnetwork, using a network connection as shown generally at 412. With sucha network connection, CPU 402 may receive information from the network,or may output information to the network in the course of performing theprocesses and methods in accordance with the disclosure herein. Suchinformation is often represented as a sequence of instructions to beexecuted using CPU 402. The information may be received from and sent tothe network, for example, in the form of a computer data signal embodiedin a carrier wave.

In one embodiment, sequences of instructions may be executedsubstantially simultaneously on multiple CPUs, as for example a CPU incommunication across network connections. Specifically, theabove-described method may be performed across a computer network.Additionally, one of skill in the art will recognize that the method maybe recognized as sets of computer codes and that such computer codes canbe stored in computer readable media such as RAM, ROM, hard discs,floppy discs, carrier waves or other storage devices or media.

In accordance with a embodiment, there is provided a system forautomated negotiation with continuous game moves. The system includes atleast one processor and at least one associated memory device storinginstructions for causing the at least one processor to construct a gametree with a root node that represents a current state of a negotiation;evaluate the game tree; select a next offer based on an output of theevaluating the game tree; define a range-term based on the continuousgame moves and for treating the range-term as a single continuousvariable in the game tree; and halt expansion of a branch of the gametree at a range-term node for which only the range-term was changed inthe move leading to said range-term node. The instructions include anoptimization process routine for causing the processor to determine anoptimum payoff value for each range-term node.he optimization processroutine may further causes the at least one processor to select a probediscretization for a range-term; expand a game tree underneath arange-term node based on said probe discretization; compute a payoff fora range-term node based on a expanded game tree, and select a new probediscretization.

Selecting the probe discretization may depend on the selection ofconstraints in the continuous game moves.

In another embodiment, there is provides a computer program comprisingprogram code instructing a computer to execute a procedure to perform amethod for automated negotiation with continuous game moves. The methodincludes the steps of: a) constructing a game tree, wherein a root nodeof the game tree represents a current state of the negotiation; b)evaluating the game tree; and c) selecting a next offer based on stepb). Step a) includes defining a range-term based on the continuous gamemoves and treating the range-term as a single continuous variable in thegame tree; and halting expansion of a branch of the game tree at arange-term node for which only the range-term was changed in the moveleading to said range-term node. Step b) includes applying anoptimization process routine to determine an optimum payoff value foreach range-term node.

It will be appreciated by the person skilled in the art that numerousmodifications and/or variations may be made to the present invention asshown in the specific embodiments without departing from the spirit orscope of the present invention as broadly described. The presentembodiments are, therefore, to be considered in all respects to beillustrative and not restrictive.

1. A processor-based method for automated negotiation with continuous game moves, comprising: constructing a game tree with a root node that represents a current state of a negotiation; defining a range-term based on continuous game moves; treating a range-term as a single continuous variable in said game tree; halting expansion of a branch of said game tree at a range-term node for which only a range-term was changed in a move leading to said range-term node; and evaluating said game tree to select a next offer with an optimization process routine to determine an optimum payoff value for each range-term node.
 2. The method of 1, wherein said optimization process routine comprises the recursive steps of: selecting a probe discretization for the range-term; expanding the game tree underneath the range-term node based on said probe discretization; computing the payoff for the range-term node based on the expanded game tree; and selecting a new probe discretization.
 3. The method of 2, wherein selecting said probe discretization is based on constraints in the continuous game moves.
 4. A system for automated negotiation with continuous game moves, the system including: at least one processor and at least one associated memory device storing instructions for causing the at least one processor to construct a game tree with a root node that represents a current state of a negotiation; evaluate the game tree; select a next offer based on an output of the evaluating the game tree; define a range-term based on the continuous game moves and for treating the range-term as a single continuous variable in the game tree; and halt expansion of a branch of the game tree at a range-term node for which only the range-term was changed in the move leading to said range-term node, wherein the instructions include an optimization process routine for causing the at least one processor to determine an optimum payoff value for each range-term node.
 5. The system of claim 4, wherein the optimization process routine further causes the at least one processor to: select a probe discretization for a range-term; expand a game tree underneath a range-term node based on said probe discretization; compute a payoff for a range-term node based on a expanded game tree, and; select a new probe discretization.
 6. The system of claim 5, wherein selecting the probe discretization depends on the selection of constraints in the continuous game moves.
 7. A computer program comprising program code instructing a computer to execute a procedure to perform a method for automated negotiation with continuous game moves, the method including the steps of: a) constructing a game tree, wherein a root node of the game tree represents a current state of the negotiation; b) evaluating the game tree; and c) selecting a next offer based on step b), wherein step a) includes; defining a range-term based on the continuous game moves and treating the range-term as a single continuous variable in the game tree; halting expansion of a branch of the game tree at a range-term node for which only the range-term was changed in the move leading to said range-term node, and wherein step b) includes; applying an optimization process routine to determine an optimum payoff value for each range-term node.
 8. The program of claim 7, wherein the optimization process routine causes the computer to recursively: select a probe discretization for the range-term; expand the game tree underneath the range-term node based on said probe discretization; compute the payoff for the range-term node based on the expanded game tree, and; select a new probe discretization.
 9. The program of claim 8, wherein the new probe discretization selection is based on constraints in the continuous game moves. 